1. Technical Field
The present invention relates to storage area networks and, in particular, to multi-path input/output in a storage area network. Still more particularly, the present invention provides a method, apparatus, and program for load balancing to support tape and disk subsystems with shared paths in a multi-path input/output environment.
2. Description of Related Art
A storage area network (SAN) is a network of storage devices. In large enterprises, a SAN connects multiple machines to a centralized pool of disk storage. Compared to managing hundreds of servers, each with its own storage devices, a SAN improves system administration.
In multiple path input/output (MPIO), there is a plurality of routes or connections from one specific machine to one specific device. For example, with a logical disk device on a redundant array of independent disks (RAID), the accessing host uses a Fibre channel (FC) adapter connected to an FC switch, and the FC switch in turn is attached to the RAID array. There may be eight, or as many as thirty-two or more, FC adapters in both the host and the device and there may be many more FC switches in the SAN fabric.
Considering a SAN with eight adapters in the host and the device, if each host adapter is connected to a device adapter through a switch, then there may be eight paths from the host to the device. If the switches are interconnected, then there may be many more paths from the host to the device. Path management software chooses paths to be used for each device.
Attaching a tape subsystem and a disk subsystem to the same Fibre channel adapter is currently not supported, because a tape subsystem achieves optimum performance with a dedicated path from the host. In order to perform write operations on a tape, the tape must spin. If data stops, the tape must stop spinning and a rewind operation must be performed to reposition the tape to wait for more data. As such, a tape device operates best with a consistent flow of data to be written.
A tape subsystem generates an underflow error when the amount of data in a buffer drops below a predefined threshold. The tape subsystem also generates an overflow error when the amount of data in the buffer exceeds another threshold. The problem of I/O starvation occurs due to the sequential streaming of tape storage technology. Tape subsystems with large caches are as susceptible to I/O starvation as subsystems with smaller caches.
If the path to the tape subsystem is shared and resources are being used by competing storage subsystems, the amount of input/output (I/O) to the tape subsystem may decrease and result in underflow errors due to I/O starvation. This may lead to a backup operation failing and having to be restarted, which may result in timeout errors. Therefore, current systems dedicate one adapter to the tape subsystem.
However, since the adapter dedicated to the tape subsystem is not utilized most of the time, the host is not able to efficiently utilize all of the paths from all of the adapters. When an adapter is dedicated to the tape subsystem, a large number of paths are also dedicated to that subsystem.